1. Field of the Invention
This invention relates generally to solid state disks and particularly to addressing schemes used by solid state disks.
2. Description of the Prior Art
The popularity of solid state drives (SSDs) and exponential growth of network content has led to emergence of all-flash storage systems, SSD arrays, or storage appliances. These systems or appliances are either directly attached to a server via the Peripheral Component Interconnect Express (PCIe) or Serial Attached SCSI (SAS) or network-attached via a high-speed, high bandwidth network such as a 10 Giga bit Ethernet (10 GbE). These storage units may include an array of one or more SSDs to meet requisite capacity and performance demands.
This popularity has also led to the creation of a Non-Volatile Memory (NVM) Express (NVMe), revision 1.1, Specification, dated Oct. 11, 2012 for Peripheral Component Interconnect Express (PCIe) SSDs.
One of the existing problems facing the foregoing arrangements is a bottle neck created between the host and the storage units in that hosts may not utilize the array of SSDs evenly therefore depriving optimum performance by the SSDs. For general consumer applications, such as hand-held devices, this arrangement works well. However, in more sophisticated applications, such as Redundant Array of Independent Disks (RAID), employing numerous SSDs, the performance of the system is hindered.
Another problem with current techniques is wear leveling. As readily known to those skilled in the art, SSD is addressed by a host using logical block addresses (LBAs) and physical block addresses (PBAs). The LBAs are ultimately correlated with PBAs, the latter of which identifies a physical location within a SSD. To this end, if a series of locations identified by LBAs belonging to a particular set of SSDs in the array are written and re-written and the remaining LBA-identified locations in the rest of SSD in the array are not as frequently written, the SSDs that are written and re-written experience more wear than those that are not written or less frequently written.
Another problem with designing of a storage appliance is the complexity and cost associated with designing the proprietary array of SSDs for use in the storage appliance.
Thus, there is a need for a low-cost high-performance storage appliance with improved performance and wear leveling without spending tremendous effort developing the array of SSDs.